
# Copyright (c) 2018-2021, Carnegie Mellon University
# See LICENSE for details

BACValue:=[
[IntHexString("5601"), 1, 1, 1],
[IntHexString("3401"), 2, 6, 0],
[IntHexString("1801"), 3, 9, 0],
[IntHexString("0AC1"), 4, 12, 0],
[IntHexString("0521"), 5, 29, 0],
[IntHexString("0221"), 38, 33, 0],
[IntHexString("5601"), 7, 6, 1],
[IntHexString("5401"), 8, 14, 0],
[IntHexString("4801"), 9, 14, 0],
[IntHexString("3801"), 10, 14, 0],
[IntHexString("3001"), 11, 17, 0],
[IntHexString("2401"), 12, 18, 0],
[IntHexString("1C01"), 13, 20, 0],
[IntHexString("1601"), 29, 21, 0],
[IntHexString("5601"), 15, 14, 1],
[IntHexString("5401"), 16, 14, 0],
[IntHexString("5101"), 17, 15, 0],
[IntHexString("4801"), 18, 16, 0],
[IntHexString("3801"), 19, 17, 0],
[IntHexString("3401"), 20, 18, 0],
[IntHexString("3001"), 21, 19, 0],
[IntHexString("2801"), 22, 19, 0],
[IntHexString("2401"), 23, 20, 0],
[IntHexString("2201"), 24, 21, 0],
[IntHexString("1C01"), 25, 22, 0],
[IntHexString("1801"), 26, 23, 0],
[IntHexString("1601"), 27, 24, 0],
[IntHexString("1401"), 28, 25, 0],
[IntHexString("1201"), 29, 26, 0],
[IntHexString("1101"), 30, 27, 0],
[IntHexString("0AC1"), 31, 28, 0],
[IntHexString("09C1"), 32, 29, 0],
[IntHexString("08A1"), 33, 30, 0],
[IntHexString("0521"), 34, 31, 0],
[IntHexString("0441"), 35, 32, 0],
[IntHexString("02A1"), 36, 33, 0],
[IntHexString("0221"), 37, 34, 0],
[IntHexString("0141"), 38, 35, 0],
[IntHexString("0111"), 39, 36, 0],
[IntHexString("0085"), 40, 37, 0],
[IntHexString("0049"), 41, 38, 0],
[IntHexString("0025"), 42, 39, 0],
[IntHexString("0015"), 43, 40, 0],
[IntHexString("0009"), 44, 41, 0],
[IntHexString("0005"), 45, 42, 0],
[IntHexString("0001"), 45, 43, 0],
[IntHexString("5601"), 46, 46, 0]];

#index -> Qe, NMPS, NLPS, SWITCH
BACTable := FList(TArray(TInt, 4), [
[IntHexString("5601"), 1, 1, 1],
[IntHexString("3401"), 2, 6, 0],
[IntHexString("1801"), 3, 9, 0],
[IntHexString("0AC1"), 4, 12, 0],
[IntHexString("0521"), 5, 29, 0],
[IntHexString("0221"), 38, 33, 0],
[IntHexString("5601"), 7, 6, 1],
[IntHexString("5401"), 8, 14, 0],
[IntHexString("4801"), 9, 14, 0],
[IntHexString("3801"), 10, 14, 0],
[IntHexString("3001"), 11, 17, 0],
[IntHexString("2401"), 12, 18, 0],
[IntHexString("1C01"), 13, 20, 0],
[IntHexString("1601"), 29, 21, 0],
[IntHexString("5601"), 15, 14, 1],
[IntHexString("5401"), 16, 14, 0],
[IntHexString("5101"), 17, 15, 0],
[IntHexString("4801"), 18, 16, 0],
[IntHexString("3801"), 19, 17, 0],
[IntHexString("3401"), 20, 18, 0],
[IntHexString("3001"), 21, 19, 0],
[IntHexString("2801"), 22, 19, 0],
[IntHexString("2401"), 23, 20, 0],
[IntHexString("2201"), 24, 21, 0],
[IntHexString("1C01"), 25, 22, 0],
[IntHexString("1801"), 26, 23, 0],
[IntHexString("1601"), 27, 24, 0],
[IntHexString("1401"), 28, 25, 0],
[IntHexString("1201"), 29, 26, 0],
[IntHexString("1101"), 30, 27, 0],
[IntHexString("0AC1"), 31, 28, 0],
[IntHexString("09C1"), 32, 29, 0],
[IntHexString("08A1"), 33, 30, 0],
[IntHexString("0521"), 34, 31, 0],
[IntHexString("0441"), 35, 32, 0],
[IntHexString("02A1"), 36, 33, 0],
[IntHexString("0221"), 37, 34, 0],
[IntHexString("0141"), 38, 35, 0],
[IntHexString("0111"), 39, 36, 0],
[IntHexString("0085"), 40, 37, 0],
[IntHexString("0049"), 41, 38, 0],
[IntHexString("0025"), 42, 39, 0],
[IntHexString("0015"), 43, 40, 0],
[IntHexString("0009"), 44, 41, 0],
[IntHexString("0005"), 45, 42, 0],
[IntHexString("0001"), 45, 43, 0],
[IntHexString("5601"), 46, 46, 0]]);
